﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Aribaccio.Device
{
    /// <summary>
    /// 设备数据传输接口
    /// </summary>
    /// <typeparam name="TData">设备传输数据接口</typeparam>
    public interface IDeviceTrans<TData> where TData : IDeviceData<IDevice<IDevicePara>>
    {
        /// <summary>
        /// 唯一标识码
        /// </summary>
        Guid GUID { get; set; }
        /// <summary>
        /// 是否是唯一的检测项
        /// </summary>
        bool IsSingleItem { get; }

        /// <summary>
        /// 接口数据到达处理方法
        /// </summary>
        /// <param name="Data"></param>
        Task DeviceDataArrive(TData argDeviceData);
    }
}
